package com.ruoyi.business.service.product;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.business.domain.product.TbProductCategories;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.List;

/**
 * 商品分类表Service接口
 */
public interface TbProductCategoriesService extends IService<TbProductCategories> {

    /**
     * 查询商品分类列表
     *
     * @param categories 查询条件
     * @return 商品分类列表
     */
    List<TbProductCategories> selectCategoriesList(TbProductCategories categories);

    /**
     * 根据ID查询商品分类
     *
     * @param id 商品分类ID
     * @return 商品分类
     */
    TbProductCategories selectCategoriesById(Long id);

    /**
     * 新增商品分类
     *
     * @param categories 商品分类
     * @return 结果
     */
    boolean insertCategories(TbProductCategories categories);

    /**
     * 修改商品分类
     *
     * @param categories 商品分类
     * @return 结果
     */
    boolean updateCategories(TbProductCategories categories);

    /**
     * 删除商品分类
     *
     * @param id 商品分类ID
     * @return 结果
     */
    boolean deleteCategoriesById(Long id);

    /**
     * 批量删除商品分类
     *
     * @param ids 需要删除的商品分类ID数组
     * @return 结果
     */
    boolean deleteCategoriesByIds(Long[] ids);


    TableDataInfo<TbProductCategories> selectPageList(TbProductCategories tbProductCategories, PageQuery pageQuery);

    List<TbProductCategories> selectProductCategorieList(TbProductCategories tbProductCategories);
}
